package com.example.api;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

public class RedisApi {
    public JedisPool jedisPool;

    public JedisPool getJedisPool(){
        return jedisPool;
    }
    public void  setJedisPool(JedisPool jedisPool){
        this.jedisPool=jedisPool;
    }
    //set创建
    public String set (String key ,String val){
        //获取数据
        Jedis jedis =jedisPool.getResource();
        //set
        String res =jedis.set(key,val);
        //释放资源
        jedisPool.returnBrokenResource(jedis);
        //返回
        return  res;
    }
    //set 具有过期时间的set
    public String set(String key, int times, String val){

        //获取资源
        Jedis jedis =jedisPool.getResource();

        //设置过期时间的key
        String res =jedis.setex(key,times,val);
        //释放资源
        jedisPool.returnBrokenResource(jedis);
        //返回
        return  res;
    }


    //get 具有过期时间的get

    public String get(String key){

        //获取资源
        Jedis jedis =jedisPool.getResource();

        //设置过期时间的key
        String res =jedis.get(key);
        //释放资源
        jedisPool.returnBrokenResource(jedis);
        //返回
        return  res;
    }
    //查询key是否存在
    public boolean exits(String key){

        //获取资源
        Jedis jedis =jedisPool.getResource();

        //设置过期时间的key
        boolean res =jedis.exists(key);
        //释放资源
        jedisPool.returnBrokenResource(jedis);
        //返回
        return  res;
    }
    //查询key剩余时间
    public  long ttl(String key){

        //获取资源
        Jedis jedis =jedisPool.getResource();

        //设置过期时间的key
        long res =jedis.ttl(key);
        //释放资源
        jedisPool.returnBrokenResource(jedis);
        //返回
        return  res;
    }
    //删除
    public  long del(String key){
        //获取资源
        Jedis jedis =jedisPool.getResource();

        //设置过期时间的key
        long res =jedis.del(key);
        //释放资源
        jedisPool.returnBrokenResource(jedis);
        //返回
        return  res;
    }
    }

